avatar-img

演算法題目解析

239公開內容
1私密內容

由有業界實戰經驗的演算法工程師,

手把手教你建立解題的框架,

一步步寫出高效、清晰易懂的解題答案。

著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。

深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。

在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。

全部內容
免費與付費
最新發佈優先
avatar-avatar
小松鼠
題目敘述 386. Lexicographical Numbers 給定一個數字n,請實作一個字典序(Lexical order)排列的報數機, 依字典序輸出所有1~n的數字。 你必須實現一個O(n) time線性時間,O(1) extra space常數額外空間的演算法。
Thumbnail
心旅-avatar-img
2024/09/21
5
🫣
5
avatar-avatar
小松鼠
發佈於
本篇文章討論了在給定二元矩陣中,如何使用Dijkstra算法找出從左上角到右下角的最安全路徑的安全分數。包括定義曼哈頓距離、最安全路徑的算法以及時間複雜度和空間複雜度分析。最終推薦Dijkstra algorithm和priority queue的使用。文章提供了參考文獻LeetCode的連結。
Thumbnail
avatar-avatar
小松鼠
發佈於
今天的一魚三吃系列是透過 兩點之間是否存在一條路徑的題目,來回顧以前學過的DFS、BFS和Disjoint Set,鞏固圖論演算法的知識點。 英文的題目敘述在這裡 題目敘述 給定我們已知n個節點的圖,和圖上的每一條無向邊edges。 請問給定的起點start和終點end是否存在一條路徑可
Thumbnail
avatar-avatar
小松鼠
發佈於
今天的官方每日一題是Island Perimeter島嶼周長,很有趣的一題。 題目非常直觀好懂。也很適合拿來作為多角度複習、回顧圖論演算法的好題目。 英文的題目敘述在這裡 題目敘述 題目會給我們一個二維陣列當作地圖,格子點為1代表陸地,格子點為0代表海洋。 要求我們以四連通N4的方式拜訪
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給定一棵二元樹的根結點,要求我們判定這是否為一顆合法的奇偶二元樹? 奇偶二元樹的定義: 從上到下依序是第0層、第一層、...、第n層 偶數層裡面的節點值都必須是奇數,而且由左到右嚴格遞增。 奇數層裡面的節點值都必須是偶數,而且由左到右嚴格遞減。 題目的原文敘述 測試
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給定一棵二元樹的根結點,要求我們找出這棵二元樹最後一層最左邊的值。 題目的原文敘述 測試範例 Example 1: Input: root = [2,1,3] Output: 1 Example 2: Input: root = [1,2,3,4,null,5,6
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給我們一個4位數字的數字鎖,還有解鎖的密碼target,和陷阱數字deadends(假如遇到的會鎖會直接卡住,不能在撥動轉盤了)。 預設開始的狀態是0000,請問,最少要撥動轉盤幾次才能解鎖? 題目的原文敘述 測試範例 Example 1: Input: deaden
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給定一顆二元樹的根結點Root node,和指定的目標值targetSum。 問我們能不能從二元樹裡面找到一條從根結點到葉子結點的路徑,其路徑上的節點值總和恰好為targetSum? 可以的話,返回True。 無解的話,返回False。 題目的原文敘述 測試範例 E
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給我們一個輸入陣列arr,起始點固定在索引為0的位置, 終點固定在索引為n-1的位置。 假設當下所在的索引位置為i,那麼每次移動的時候,可以跳到i-1,i+1,或者其他和我有相同元素值的位置arr[j], where arr[j] = arr[i]。 例如: 假設當下在i=3
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給我們一個輸入陣列nums,每個元素值代表那個格子點可以左右位移的固定長度。 例如,假設 nums[i] = 3,那麼下一步可以移動到nums[i-3] 或 nums[i+3]這兩個格子點。 題目​會給定一個起始點start索引位置,請問我們能不能走到內部數值為0的格子點?
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給我們一個輸入陣列nums,每個元素值代表那個格子點可以跳躍的最大長度。 題目保證始從最左邊的格子點出發開始跳,一定可以成功抵達終點,請問最少跳躍次數是說少? 題目的原文敘述 測試範例 Example 1: Input: nums = [2,3,1,1,4] Outp
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給我們一個輸入陣列nums,每個元素值代表那個格子點可以跳躍的最大長度。 一開始從最左邊的格子點出發開始跳,請問可以成功抵達終點,也就是最右邊的格子點嗎? 如果可以,返回 True。 如果不行,返回False。 題目的原文敘述 測試範例 Example 1: In
Thumbnail
avatar-avatar
小松鼠
發佈於
題目敘述 題目會給我們一顆二元樹的根結點,請我們列出每一層最右邊的節點值,以陣列的形式返回答案。 題目的原文敘述 測試範例 Example 1: Input: root = [1,2,3,null,5,null,4] Output: [1,3,4] 每一層最右邊的節點值分別是1, 3,
Thumbnail
螃蟹_crab-avatar-img
2024/01/26
1
每次觀看都有種膜拜大神的感覺,太厲害了
1
avatar-avatar
小松鼠
題目敘述 題目會給定我們一棵二元數Binary Tree的根結點。 並且給定感染的病毒源節點位置,每個單位時間,可以向相鄰的節點感染一次,問我們需要多少時間去感染整棵樹? 題目的原文敘述 測試範例 Example 1: Input: root = [1,5,3,null,4,10,6,
Thumbnail
avatar-avatar
小松鼠
題目敘述 題目會給我們一個輸入陣列prerequisites,每個pair代表兩個課程之間的先修關係,和課程總數numCourses。 題目問我們這組課程表是否能依照順序修完所有的課程? 如果可以,返回True。 如果不行,代表有擋修形成死結,無法依照順序修完所有的課程,返回False。
Thumbnail
小松鼠 繼續加油 雖然不是股市投資等等直接跟錢有關的文章 不是很熱門 但是只要努力 規劃跟方向 佈局都持續檢討 將來收穫很可觀 我知道專業文章比較冷門 因為懂門道之人本來就是少數 但是醫殿成功 財力會迅速上升 不要放棄 小松鼠 有空歡迎來我那裡逛逛天照真 敬上
avatar-avatar
小松鼠
題目敘述 題目會給我們一個不規則排列的二維陣列,要求我們列出從起點出發,走次對角線,由左下到右上逐層拜訪的路徑。
Thumbnail
avatar-avatar
小松鼠
題目會給我們一個routes 陣列,裡面都是分別代表每一條公車路線所對應的公車站編號。 題目要求我們計算出,從起點站source到終點站target的最精簡公車路線搭乘次數是幾次? 也就是說,就是在最少轉乘的前提下,旅途中需要搭乘幾條公車路線?
Thumbnail
avatar-avatar
小松鼠
題目會給定我們兩個點座標,分別是起點和終點。 另外,還有一個參數t,代表時間限制。 從起點出發之後,每一秒鐘,我們必須選擇一個N8 8連通的方向,往鄰居的格子點移動。(題目有特別強調,每一秒必須強制移動到下一個格子點,不能停留在原地) 請問我們能不能在時間限制內,從起點走到終點?
Thumbnail
avatar-avatar
小松鼠
題目會給我們一顆二元樹的根結點,要求我們找出每一層最大的節點值。
Thumbnail
avatar-avatar
小松鼠
題目會給定給我們一顆二元樹的根結點, 要求我們輸出上下顛倒的Level-order traversal的拜訪結果。
Thumbnail